专利摘要:
LOCATING RELEVANT DIFFERENTIATORS WITHIN AN ASSOCIATIVE A system (100) including an associative memory (102) comprising a plurality of data (104) and a plurality of associations among the plurality of data (106). The plurality of data (104) is collected into associated groups (108). The associative memory (102) is configured to be queried based on at least indirect relationships (110) among the plurality of data (104). The system (100) also includes an input device (114) in communication with the associative memory (102). The input device (114) is configured to receive a query (116) to compare entities (112) in the associative memory (102). The system (100) also includes a coordinator (118) in communication with the associative memory (102). The coordinator (118) is configured to compare the entities (112) to identify a similar attribute value among the entities (112). The coordinator (118) is further configured to identify a differentiator (122) among the entities (112). 104 ASSOCIATIVE PLURALITY OF DATA PLURALITY OF ASSOCIATIONS 106 1 /102 AMONG THE PLURALITY OF DATA ASSOCIATED INDIRECT GROUPS 108 RELATIONSHIPS ENTITIES 112 COORDINATOR DEPTRY 116 L114 DEPTHQUR r 126 INPUT DEVICE LIST OF RELEVANT COMMON ATTRIBUTE ATTRIBUTE VALUES CATEGORY VALUES 136 128 SIMILAR ATTRIBUTE VALUE 120 118 USER DESIGNATED RELEVANCE PLURALITY OF SETS OF 132 ATTRIBUTE CATEGORIES DETERMINED DEPTH [140 RELEVANCE VALUE OR 138 134 VALUES ["142 DIFFERENTIATOR ATTRIBUTE DISPLAY DEVICE 122-/ 124 / VALUE OF A 130 GIVEN ENTITY
公开号:AU2013206037A1
申请号:U2013206037
申请日:2013-05-27
公开日:2014-02-13
发明作者:Jamie Antonio Flores Jr.;John Whelan
申请人:Boeing Co;
IPC主号:G06F17-30
专利说明:
1 LOCATING RELEVANT DIFFERENTIATORS WITHIN AN ASSOCIATIVE MEMORY BACKGROUND INFORMATION Field [0001] The present disclosure relates generally to associative memories and, in particular, a system and method for locating relevant differentiators within an associative memory in order to distinguish otherwise matching results. Background [0002] When querying an associative memory, isolating relevant differences among the results may be difficult. For example, entities may be more different than alike. Therefore, locating relevant differences may be akin to looking for a needle in a haystack. For instance, two applicants can have resumes showing similar skills, while the rest of their resumes can be different. The relevant differences are difficult to identify. [0003] Using an associative memory to solve this problem may involve an undesirable method of searching known as "hunt and peck". While associative memories perform well when finding associations and relationships among entities, they perform relatively poorly when finding relevant differentiators among the same associations and relationships among entities. [0004] Thus, issues may arise when performing a query of an associative memory to find desired information that includes relevant differences among the search results. For example, a query may result in ten matches that appear to be all the same. Finding the relevant differences between them is difficult. Therefore, it would be desirable to have a system and method that takes into account at least some of the issues discussed above as well as possibly other issues. Summary [0005] The illustrative embodiments provide for a system. The system includes an associative memory having a plurality of data and a plurality of associations among the plurality of data. The plurality of data is collected into associated groups. The associative memory is configured 2 to be queried based on at least indirect relationships among the plurality of data. The system also includes an input device in communication with the associative memory. The input device configured to receive a query to compare entities in the associative memory. The illustrative embodiments also provide for a coordinator in communication with the associative memory. The coordinator is configured to compare the entities to identify a similar attribute value among the entities. The coordinator is further configured to identify a differentiator among the entities. [0006] The illustrative embodiments provide for another system. This system may include an associative memory including an associative memory comprising a plurality of data and a plurality of associations among the plurality of data. The plurality of data is collected into associated groups. The associative memory is configured to be queried based on at least indirect relationships among the plurality of data. The system also includes an input device in communication with the associative memory. The input device is configured to receive a query to compare a first entity to a second entity using the associative memory. The input device is further configured to receive an attribute category associated with both the first entity and the second entity. The system also includes a coordinator in communication with the associative memory. The coordinator is configured to compare first attribute values of the first entity and second attribute values of the second entity. The first attribute values and the second attribute values both associated with the attribute category. The coordinator is further configured to remove third attribute values from both the first attribute values and the second attribute values. The third attribute values are common to both the first attribute values and the second attribute values. The coordinator is further configured to store a fourth attribute value that remains after removal of the third attribute values. The fourth attribute value is associated with one of the first entity and the second entity. [0007] The illustrative embodiments also provide for a method implemented in an associative memory including a plurality of data and a plurality of associations among the plurality of data, wherein the plurality of data is collected into associated groups, wherein the associative memory is configured to be queried based on at least indirect relationships among the plurality of data. The method includes receiving, at an input device in communication with the associative memory, a query to compare entities in the associative memory. The method also includes comparing, using a coordinator in communication with the associative memory, the entities to identify a similar attribute value among the entities. The method also includes identifying, using the coordinator, a differentiator among the entities.
3 Brief Description of the Drawings [0008] The novel features believed characteristic of the illustrative embodiments are set forth in the appended claims. The illustrative embodiments, however, as well as a preferred mode of use, further objectives and features thereof, will best be understood by reference to the following detailed description of an illustrative embodiment of the present disclosure when read in conjunction with the accompanying drawings, wherein: [0009] Figure 1 is a block diagram of a system for locating differentiators in an associative memory, in accordance with an illustrative embodiment; [0010] Figure 2 is a block diagram of a system for locating differentiators in an associative memory, in accordance with an illustrative embodiment; [0011] Figure 3 is a Venn diagram illustrating identification of relevant differences, in accordance with an illustrative embodiment; [0012] Figure 4 is a diagram illustrating an entity comparison, in accordance with an illustrative embodiment; [0013] Figure 5 is a diagram illustrating user selection of attribute categories, in accordance with an illustrative embodiment; [0014] Figure 6 is a diagram illustrating user selection of a depth of attribute values to include, in accordance with an illustrative embodiment; [0015] Figure 7 is a diagram illustrating the identification of relevant attributes, in accordance with an illustrative embodiment; [0016] Figure 8 is a diagram illustrating the removal of duplicate attributes, in accordance with an illustrative embodiment; [0017] Figure 9 is a diagram illustrating an entity comparison with relevant differentiators, in accordance with an illustrative embodiment; 4 [0018] Figure 10 is a diagram illustrating a process for identifying a relevant differentiator, in accordance with an illustrative embodiment; [0019] Figure 11 is a diagram demonstrating a possible implementation of a process for identifying a relevant differentiator, in accordance with an illustrative embodiment; [0020] Figure 12 is a flowchart illustrating a process for identifying a differentiator, in accordance with an illustrative embodiment; and [0021] Figure 13 is an illustration of a data processing system, in accordance with an illustrative embodiment. Detailed Description [0022] The illustrative embodiments provide several useful functions. For example, the illustrative embodiments recognize and take into account that issues may arise when performing a query of an associative memory to find desired information that includes relevant differences among the search results. For example, a query may result in ten matches that appear to be all the same. Finding the relevant differences between them is difficult. [0023] The illustrative embodiments also recognize and take into account that associative memory technology may be effective at performing comparisons to find similarities between compared entities, but is relatively ineffective at performing comparisons to find relevant differences between the same entities. [0024] The illustrative embodiments address these and other issues by providing a system and method for locating a differentiator among entities that otherwise may appear to be the same or similar when performing a query to compare the entities to each other. As used herein, the term "differentiator" means an attribute value of a given entity that is unique relative to all other attribute values of comparable entities having category types equal to a category type of the given entity. A differentiator preferably is relevant to a query, but need not be relevant. [0025] As an aid to understanding the term "differentiator", consider two candidate employees Adam and Beatrice. Both Adam and Beatrice are "entities" for purposes of this example. Both Adam and Beatrice have their own skill sets, which happen to be similar to each other. Skills 5 are attributes, or category types, and their attribute values are the particular skills. For example, "language" may be a category type (an attribute) and "English" may be a value for the category type (attribute value). [0026] An employer uses an associative memory to compare the skills Adam and Beatrice possess. The associative memory returns a result that both people are fluent in English, German, Italian, and Spanish. The employer sees that both candidates have all required language skills. Thus, the employer does not have a readily available way to distinguish Adam from Beatrice, even though more information about each candidate is available in the associative memory. [0027] However, the two candidates do have differences that are relevant to the job, but these differences may not necessarily be easy to find through comparison of the two candidates using a comparison query for an associative memory. For example, the evaluator determines that "computer skills" are also relevant to the position to be filled. Beatrice has computer programming skills and Adam does not, whereas Adam has computer repair skills and Beatrice does not. In this case, both "computer programming" and "computer repair" are "differentiators". These skills share the same category type (attribute category) of "computer skills", but each is unique to only one candidate (entity). [0028] The illustrative embodiments demonstrate a system and method that can identify these differences and highlight them along with highlighting the language skill that Adam and Beatrice each have. Thus, an employer can more readily find the relevant differentiators between Adam and Beatrice using an associative memory, and hence, better evaluate the candidates. [0029] The above example is simple. In a more realistic example, hundreds or even thousands of candidates may be evaluated simultaneously along a dozen category types. In this case, dozens or even hundreds of candidates may appear to be exactly the same when using the associative memory to compare the candidates. The illustrative embodiments provide for a system and method that allows the evaluator to find relevant differentiators among the candidates in order to quickly identify the ideal candidates for further evaluation. [0030] The illustrative embodiments are not limited to human resources applications. The illustrative embodiments have business, military, and scientific applications, as well as 6 applications in other areas. Thus, the above examples should not be read as limiting the claimed inventions. [0031] Attention is now turned to the terms used in this application. For example, the term "differentiator" is defined above. [0032] As used herein, the term "associative memory" refers to a plurality of data and a plurality of associations among the plurality of data. The plurality of data and the plurality of associations may be stored in a non-transitory computer readable storage medium. The plurality of data may be collected into associated groups. The associative memory may be configured to be queried based on at least indirect relationships among the plurality of data in addition to direct correlations among the plurality of data. The associative memory may also be configured to be queried based on direct relationships, as well as combinations of direct and indirect relationships. [0033] Thus, an associative memory may be characterized as a plurality of data and a plurality of associations among the plurality of data. The plurality of data may be collected into associated groups. Further, the associative memory may be configured to be queried based on at least one relationship, selected from a group that includes direct and indirect relationships, or from among the plurality of data in addition to direct correlations among the plurality of data. An associative memory may also take the form of software. Thus, an associative memory also may be considered a process by which information is collected into associated groups in the interest of gaining new insight based on relationships rather than direct correlation. [0034] As used herein, the term "entity" refers to an object that has a distinct, separate existence, though such existence need not be a material existence. Thus, abstractions and legal constructs may be regarded as entities. As used herein, an entity need not be animate. [0035] Figure 1 is a block diagram of a system for locating differentiators in an associative memory, in accordance with an illustrative embodiment. System 100 shown in Figure 1 may be implemented using one or more data processing systems, possibly in a distributed or networked environment, and possibly by a group of remotely administered data processing systems known as the "cloud". Each of the one or more data processing systems that implement system 100 may be data processing system 1300 described with respect to Figure 13, or variations thereof.
7 System 100 may be characterized as including one or more blocks. Each of these blocks may be separate or may be part of a monolithic architecture. [0036] System 100 may include associative memory 102. Associative memory 102 may include plurality of data 104 and plurality of associations among the plurality of data 106. Plurality of data 104 may be collected into associated groups 108. Associative memory 102 may be configured to be queried based on indirect relationships 110 among plurality of data 104 in addition to direct correlations among plurality of data 104. [0037] Associative memory 102 may store entities 112. Associative memory 102 may also store relationships, both direct and indirect, among entities 112. Associative memory 102 may also store individual information about each of entities 112. [0038] System 100 may include input device 114 in communication with associative memory 102. Input device 114 may be configured to receive query 116 to compare entities 112 in associative memory 102. Input device 114 may be a tangible device configured to receive input. Examples of input device 114 include, but are not limited to, a keyboard, a mouse, a touch screen, a tangible processor configured to receive data, a data bus, a tangible voice recognition system, and other types of devices. [0039] System 100 also includes coordinator 118. Coordinator 118 may be in communication with associative memory 102. Coordinator 118 may be configured to compare entities 112 to identify similar attribute value 120 among the entities 112. Coordinator 118 further may be configured to identify differentiator 122 among entities 112. [0040] In an illustrative embodiment, differentiator 122 may be an attribute value of a given entity 124 that is unique relative to all other attribute values of comparable entities having category types equal to a category type of the given entity. Further, the differentiator may be relevant to query 116. [0041] In an illustrative embodiment, coordinator 118 may be further configured to identify differentiator 122 by receiving a value identifying a depth 126 of an attribute of an entity to include. In this case, coordinator 118 may be further configured to identify differentiator 122 by removing common attribute values 128 that are common to any two of entities 112 and are 8 relevant to query 116. Alternatively, one or more of common attribute values 128 may be beyond depth 126 that was previously identified. [0042] In an illustrative embodiment, system 100 may also include display device 130. Display device 130 may be in communication with associative memory 102. Display device 130 may be configured to display differentiator 122. [0043] In an illustrative embodiment, coordinator 118 may be further configured to coordinate user-designated relevance 132 of attribute categories and determined relevance 134 of attribute category values that are determined by the associative memory. Coordinator 118 may be programmed to establish list of relevant attribute category values 136 as a result of a coordination. Coordinator 118 may be further configured to use the list to identify differentiator 122. In a further illustrative embodiment, associative memory 102 may be configured to store the list and to order the relevant attribute category values in order of relevance. [0044] In another illustrative embodiment, coordinator 118 may be further configured to examine plurality of sets of attribute categories 138 to particular depth 140. Coordinator 118 may be further configured to determine what value or values 142 are relevant in identified differences among plurality of sets of attribute categories 138. [0045] The illustrative embodiments shown in Figure 1 are not meant to imply physical or architectural limitations to the manner in which different illustrative embodiments may be implemented. Other components in addition to and/or in place of the ones illustrated may be used. Some components may be unnecessary in some illustrative embodiments. Also, the blocks are presented to illustrate some functional components. One or more of these blocks may be combined and/or divided into different blocks when implemented in different illustrative embodiments. [0046] Figure 2 is a block diagram of a system for locating differentiators in an associative memory, in accordance with an illustrative embodiment. System 200 shown in Figure 2 may be implemented using one or more data processing systems, possibly in a distributed or networked environment, and possibly by a group of remotely administered data processing systems known as the "cloud". Each of the one or more data processing systems that implement system 200 may be data processing system 1300 described with respect to Figure 13, or variations thereof. System 200 may be characterized as including one or more blocks. Each of these blocks may be 9 separate or may be part of a monolithic architecture. System 200 may be system 100 of Figure 1. [0047] System 200 may include associative memory 202. Associative memory 202 may include plurality of data 204 and plurality of associations among the plurality of data 206. Plurality of data 204 may be collected into associated groups 208. Associative memory 202 may be configured to be queried based on indirect relationships 210 among plurality of data 204 in addition to direct correlations among plurality of data 204. [0048] System 200 may include input device 212 in communication with associative memory 202. Input device 212 may be configured to receive query 214 to compare first entity 216 to second entity 218 using associative memory 202. Input device 212 further may be configured to receive attribute category 220, which is associated with both first entity 216 and second entity 218. [0049] System 200 may also include coordinator 222, which may be in communication with associative memory 202. Coordinator 222 may be configured to compare first attribute values 224 of first entity 216 and second attribute values 226 of second entity 218. First attribute values 224 and second attribute values 226 both may be associated with attribute category 220. Coordinator 222 further may be configured to remove third attribute values 228 from both first attribute values 224 and second attribute values 226. Third attribute values 228 are common to both first attribute values 224 and second attribute values 226. [0050] Coordinator 222 further may be configured to store fourth attribute value 230 that remains after removal of third attribute value 228. Fourth attribute value 230 may be associated with one of first entity 216 and second entity 218. Fourth attribute value 230 may be unique to the one of first entity 216 and second entity 218. [0051] In an illustrative embodiment, input device 212 may be further configured to receive depth 232 of attribute values to include when comparing the entities. This depth may be used to limit which differentiators may be displayed. [0052] In an illustrative embodiment, coordinator 222 further may be configured to remove fifth attribute values 234 from one or both of first attribute values 224 and second attribute values 226. Fifth attribute values 234 may be beyond depth 232.
10 [0053] In an illustrative embodiment, system 200 may include display 236 in communication with associative memory 202. Display 236 may be configured to display fourth attribute value 230. Display 236 may be further configured to highlight fourth attribute value 230 and also to display fifth attribute values 234 common to both first entity 216 and second entity 218. [0054] The illustrative embodiments shown in Figure 2 are not meant to imply physical or architectural limitations to the manner in which different illustrative embodiments may be implemented. Other components in addition to and/or in place of the ones illustrated may be used. Some components may be unnecessary in some illustrative embodiments. Also, the blocks are presented to illustrate some functional components. One or more of these blocks may be combined and/or divided into different blocks when implemented in different illustrative embodiments. [0055] Figure 3 is a Venn diagram illustrating identification of relevant differences, in accordance with an illustrative embodiment. Venn diagram 300 illustrates identification of relevant differences in an associative memory, such as associative memory 102 of Figure 1 or associative memory 202 of Figure 2. Thus, Venn diagram 300 may be an abstract view useful for understanding issues with respect to identification differentiators, such as differentiator 122 of Figure 1 or fourth attribute value 230 of Figure 2. [0056] The illustrative embodiments locate relevant differences 302 and relevant differences 304 in relation to entity comparisons in an associative memory. Relevant differences may also be termed relevant "differentiators". Again, a "differentiator" is an attribute value of a given entity that is unique relative to all other attribute values of comparable entities having category types equal to a category type of the given entity. [0057] More specifically, the illustrative embodiments locate relevant differences 302 and relevant differences 304 among comparisons of entities 306 within domain 308 of an associative memory, such as associative memory 102 of Figure 1 or associative memory 202 of Figure 2. Although associative memory is described in detail above, associative memory technology also may be considered the process by which information is collected into associated groups in the interest of gaining new insight based on relationships rather than the direct correlation of data. Domain 308 represents a broad category or an area of interest. A perspective may be considered 11 one's "point of view", or the choice of a context for a particular aspect within a user's area of interest. Thus, a perspective may be a subject within the broad category of domain 308. [0058] Typically, an associative memory may be logically divided into perspectives. For example, domain 308 may be a "job requisitions problem domain" for a particularjob position, and "applicants" could be a perspective within this domain. Entities 306 within domain 308 may be individual people. Again, an entity is something that has a distinct, separate existence, though an entity need not be a material existence. For example, abstractions and legal constructs may be regarded as entities. Thus, although the illustrative embodiments are described with respect to entities that are human candidates for a job position, no presumption should be made that an entity must be animate. [0059] Returning to differentiators, stated differently, the illustrative embodiments uncover differentiators among comparables that might otherwise be equal. In this example, a comparable is an entity. Also in this example, comparables include entity 306A, entity 306B, and entity 306C. Entity 306A is the base entity to which entity 306B and entity 306C are compared. The term "don't care" 314 in this illustrative embodiment is used in the sense known in the computer arts, which means that entity 306A is not searched. The term "don't care" represents the attributes of entity 306A that are not part of the comparison search and therefore not taken directly into consideration when deriving relevant differentiators. [0060] The illustrative embodiments locate relevant differences 302 and relevant differences 304. The illustrative embodiments also exclude matching attributes 310. Matching attributes 310 are those attribute values in entity 306B and entity 306C shared with entity 306A. The illustrative embodiments also exclude other matches 312, which include those attribute values in entity 306B and entity 306C that match each other. The illustrative embodiments exclude other matches 312 because the user desires to find relevant differences in these examples, not matching attributes. [0061] Attention is now turned to describing in more detail issues addressed by the illustrative embodiments. When using associative memories to perform entity comparisons, isolating relevant differences among the results can be difficult. The reason for this difficulty resonates from the fact that entities usually share far more differences than similarities. Therefore, trying to locate relevant differences, including differentiators, may be comparable to the clich6 of 12 looking for a needle in a haystack. In a more concrete example, two applicants can have resumes showing similar skills, while the rest of their resumes are completely different. Determining what is relevant among those differences, that is locating relevant differentiators, may be undesirably challenging. [0062] Using an associative memory to find differentiators without using the illustrative embodiments would involve undesirable "hunt and peck" searching. While associative memories perform well when finding associations and relationships among entities, they do not do perform as well when differentiating among entities. [0063] Thus, stated differently from above, the illustrative embodiments provide for a systematic approach to locating relevant differences among entity comparisons of a given perspective within an associative memory in order to uncover possible differentiators or to flush out unique aspects among comparables that might otherwise be equal. The illustrative embodiments thus provide an easy mechanism for locating relevant differences among comparable entities. The illustrative embodiments are domain independent, platform independent, and portable. [0064] Figure 4 is a diagram illustrating an entity comparison, in accordance with an illustrative embodiment. Diagram 400 illustrates a common situation that may arise when comparing entities 402. In this case, entities 402 are candidates for a job position. Comparison 404 shows that three entities 406, or "candidates", show exactly the same desired skills based on the comparison requested by a user query of the associative memory storing entities 402. However, the user wants to identify differentiators that may allow the user to better determine which of the three entities 402 are best qualified for the job position. [0065] For all of Figure 4 through Figure 11, and throughout this document, all names and data are fictitious. Any resemblance or similarity to real people, entities, or objects is unintentional and no statements are being made or implied regarding any real people, entities, or objects. [0066] The result of finding multiple entities sharing the same attribute values can occur because, within an associative memory, the results of an entity comparison are an ordered list of entities that are similar to the original or sought entity within a perspective. An associative memory collects all the matching attributes among these entities to formulate the list. The order of that list depends on the significance of the matching attributes. Additionally, the ranking of 13 the list correlates to the number of attributes found. As described above, the illustrative embodiments address the issue of multiple similar results by identifying differentiators among entities 402. [0067] Figure 5 is a diagram illustrating selection of attribute categories, in accordance with an illustrative embodiment. Diagram 500 illustrates user selection of attribute categories. However, in other illustrative embodiments, this section may occur as the result of an automatic process implemented by hardware or software. Diagram 500 reflects a first step in a process for identifying a relevant differentiator, and may be used in system 100 of Figure 1 or system 200 of Figure 2. [0068] For a given or sought entity 502 within perspective 504, the user may select attribute categories 506 for which the user would like to see differences, or determines as relevant. This selection affords the user an opportunity to determine what attribute category or attribute categories are relevant when determining differentiators within a comparison. In the specific example shown in Figure 5, the user wants to see relevant differences in the attribute categories of skills, office skills, language, and second language. The user has determined these attributes, or categories, are relevant to the search. [0069] The example of Figure 5 illustrates selection of four attributes. However, more or fewer attributes may be selected, including even a single attribute. [0070] Figure 6 is a diagram illustrating selection of a depth of attribute values to include, in accordance with an illustrative embodiment. Diagram 600 specifically shows individual selection of depths for attributes 602. Attributes 602 correspond to attributes 506 of Figure 5. Diagram 600 reflects a second step in a process for identifying a relevant differentiator, and should be considered in relation to Figure 5. The process shown in Figure 6 may be used in system 100 of Figure 1 or system 200 of Figure 2. [0071] For any particular attribute category, an associative memory could contain hundreds of attribute values. For example, attribute category "skills" 604 could contain a wide range of skills ranging from important skills like computer or business skills to less relevant skills like secretarial or facility skills. Because these skills are ordered by relevance or importance, a cut off may be used wherein the skills are separated, the cut off being a guess or approximation as to the point where specific skills in the ordered list are assumed to be less important.
14 [0072] Continuing with the above example, the user may select the value "5" at drop down menu 606. The user could have selected some other value. Other forms of input may be used, other than drop down menus, such as, but not limited to, dialog boxes, voice commands, and other forms of input. [0073] By selecting the depth for attribute category "skills" 604, the user has designated how many skills to include from an ordered list of possible skill values. For example, if a user has 100 skills, by selecting "5" in drop down menu 606, the illustrative embodiments will include the first "5" skill values from an order list of attribute category "skills" that are associated with the sought entity. [0074] Each depth may be selected independently from all other depths in some illustrative embodiments. Thus, for example, a user may decide that a cut off after the first five values of the ordered list is appropriate for attribute category "skills" 604, but that a cut off after the first three values for another ordered list is appropriate for attribute category "language" 608. [0075] Note that attribute category "language" 608 is distinct from attribute category "2"d language" 610. The reason for this distinction is that attribute category "language" 608 reflects the primary language for applicants, whereas attribute category "2"d language" 610 reflects the second language for applicants. In other words, for all multi-lingual applicants, each has a first language and a second language, and the first language may vary among applicants and the second language may also vary among applicants. [0076] The illustrative embodiment described above relates to languages as being differentiators. This example is provided for clearer understanding only, and is not necessarily limiting of the claimed inventions or of other applications of other illustrative embodiments. [0077] The illustrative embodiments described with respect to Figure 6 may be varied. For example, selection of a depth may be optional in some illustrative embodiments. More or fewer attribute categories may be present, including possibly only one attribute category. Some attribute categories may have a corresponding designated depth; whereas others need not. [0078] Figure 7 is a diagram illustrating the identification of relevant attributes to include, in accordance with an illustrative embodiment. The identification of relevant attributes to use, shown in diagram 700, may be performed by the associative memory. Diagram 700 reflects a 15 third step in a process for identifying a relevant differentiator, and should be considered in relation to Figures 5 and 6. The process shown in Figure 7 may be used in system 100 of Figure 1 or system 200 of Figure 2. [0079] Figure 7 specifically shows identification of relevant attributes like entity "Bill Smith" 702. The relevant attributes are shown as being within an enclosed square, such as square 704. Each enclosed square has a lead line, such as lead line 706. Each lead line indicates a corresponding attribute category, such as attribute category "skills" 708. Thus, for example, square 704 shows the three "skills" for entity "Steve Pi" 710. The three skills are within the depth of five designated for attribute category "skills" 708, and thus all three are shown. [0080] For each result of an entity comparison within a perspective, such as the "Applicants" perspective shown for all of the entities displayed in diagram 700, the associative memory may use the selected categories as provided in Figure 5 and include the resulting attributes to the depth designated in Figure 6. The search is used to determine if attribute values within the attribute categories are unique to a given entity; this process may be shown in Figure 8. By virtue of the user designation in Figure 5, the attribute category values have already been predetermined to be relevant because the corresponding attribute categories and corresponding depth values have been predetermined to be relevant to the results. [0081] The associative memory may be commanded to maintain a list of the collected attribute category values for each attribute category within each entity result within a perspective. Figure 7 shows how the associative memory may collect the attribute category values desired. The associative memory may repeat this process for all of the entities within the result set. [0082] Diagram 700 does not reflect all possible variants for finding relevant attributes or attribute category values. For example, more or fewer attribute categories may be designated, more or fewer attribute categories may be present, and other values for depths may be used. The illustrative embodiments may also be used in the context of other applications, other than human resource management. [0083] Figure 8 is a diagram illustrating the removal of duplicate attributes, in accordance with an illustrative embodiment. Diagram 800 shows how the associative memory may be programmed to remove duplicate attribute values relative to all entities being compared. Diagram 800 reflects a fourth step in a process for identifying a relevant differentiator, and 16 should be considered in relation to Figure 5 through Figure 7. The process shown in Figure 8 may be used in system 100 of Figure 1 or system 200 of Figure 2. [0084] Once the associative memory has collected a list of attributes for each selected attribute category for each entity result within a perspective, the associative memory then may compare each attribute in that list with all of the other attributes of the same attribute category within the result set. If the associative memory finds any duplicate attribute values, that is those attribute values which share the same attribute category, the associative memory may remove such duplications from the list, as shown in Figure 8. [0085] For example, the attribute category value "computer" 802 under attribute category "skills" 804 is the same for all three entities being compared. Because attribute category value "computer" 802 appears for multiple entities, this attribute value is removed from the list. Likewise, because attribute category value "accounting" 806 appears for two of the three entities compared, this attribute value is also removed from the list. [0086] In an illustrative embodiment, duplicate attribute category values need not appear within the depth specified for one or more of the entities. Thus, for example, if an attribute category value appears outside of the specified depth then this attribute category value may also be removed. [0087] Stated differently, an attribute category value may be removed from the list of relevant attribute category values even if only one other occurrence of that attribute category value appears within all the attributes of the same category within the result set, even if that occurrence is past a specified search depth. In addition, the associative memory need not search the attribute categories of the sought entity, as the occurrence of the attribute category value is not considered relevant. If the attribute category value had been considered relevant, that attribute category value would be a required match and eliminate itself from being a differentiator. In essence, in some illustrative embodiments a distinction need not be made as to the relevance of the attributes of the sought entity. That determination may be left to the user. [0088] For example, the attribute category value "economy" 808 is located within the attribute category "skills" 804 of another applicant not shown in Figure 8, but within the result set. Thus, attribute category value "economy" 808 is eliminated from the list, even if attribute category 17 value "economy" 808 in the skill set of the other applicant was beyond the depth of "five" specified for attribute category "skills" 804. [0089] Figure 9 is a diagram illustrating an entity comparison with relevant differences, in accordance with an illustrative embodiment. Diagram 900 shows first differentiator 902 and second differentiator 904 displayed and highlighted in a results set. Diagram 900 reflects a fifth step in a process for identifying a relevant differentiator, and should be considered in relation to Figure 5 through Figure 8. The process shown in Figure 9 may be used in system 100 of Figure 1 or system 200 of Figure 2. [0090] In this illustrative embodiment, "entity" Tim Evans 906 includes two relevant differentiators. First differentiator 902 occurs in the attribute category "skills", which has a value of "typing". Second differentiator 904 occurs in the attribute category "second language", which has a value of "German". [0091] By definition, none of the other entities, or job applicants, have either these two skills indicated by the displayed differentiators. Furthermore, by implication, all other entities do not have any skills that are differentiators relative to the other entities. Thus, entity "Tim Evans" 906 stands out from among all other qualified candidates that otherwise have the same relevant skill set. [0092] The illustrative embodiments shown in Figure 9 may be varied. For example, possibly different entities have different differentiators. For example, entity "Jay Ensell" 908 could have first differentiator 902, while entity "Tim Evans" 906 has second differentiator 904. In some illustrative embodiments, all entities have at least one differentiator. In some illustrative embodiments, no entities have any differentiators. In still other illustrative embodiments, more than two differentiators may be present for a given entity. Furthermore, as the result set widens or increases, in some cases one could expect the differentiators to change. [0093] The illustrative embodiments may be further varied. For example, the illustrative embodiments may have military, business, scientific, political, marketing, or other applications. Thus, the illustrative embodiments are not limited to the human resources example shown in Figure 9.
18 [0094] Figure 10 is a diagram illustrating a process for identifying a relevant differentiator, in accordance with an illustrative embodiment. Diagram 1000 may be a summary of the steps described with respect to Figure 5 through Figure 9. [0095] In "step 1" 1002 a user or computer program may select attribute categories deemed to be relevant. These selected attribute categories are those attribute categories for which finding one or more differentiators is desired as also outlined in Figure 5. Optionally, in "step 2" 1004, a user or computer program may select a depth of attribute category values to include for a given attribute category, as also outlined in Figure 6. [0096] In "step 3" 1006, relevant attribute category values to use are determined by the associative memory, as also outlined in Figure 7. The actual attribute category values used may be limited by the corresponding depth selected at "step 2" 1004. [0097] In "step 4" 1008, all attribute category values common to more than one entity are deleted from the list of attribute category values, as also outlined in Figure 8. All remaining attribute category values are relevant differentiators. Possibly only one differentiator may be present. In some cases zero differentiators may be present, in which case the user or computer program may desire to modify the comparison by increasing the depth or increasing the number of attribute categories considered relevant. [0098] In "step 5" 1010, one or more relevant differentiators, if found, are displayed, as also outlined in Figure 9. Optionally, displayed differentiators may be highlighted using a different color, different fonts, or other means for highlighting. [0099] The illustrative embodiment shown in Figure 10 is meant to be a summary only, and does not necessarily limit the claimed inventions. Additionally, the illustrative embodiment of Figure 10 may be varied, as described with respect to Figure 5 through Figure 9, or with respect to Figure 11. [0100] Figure 11 is a diagram demonstrating a possible implementation of a process for identifying a relevant differentiator, in accordance with an illustrative embodiment. The process shown in Figure 11 may be implemented by system 100 of Figure 1, system 200 of Figure 2, or data processing system 1300 of Figure 13. The process shown in Figure 11 is an alternative description or implementation of the process shown in Figure 10, or of the process shown in 19 Figure 5 through Figure 9. With respect to Figure 11, a "process" is described as performing an action. As used herein, a "process" is considered to be a non-transitory processor or other physical device configured to perform the action described, or may be considered to be a non transitory computer readable storage medium storing computer usable program code configured, when executed, to carry out the action described. [0101] In a first step of the process shown in Figure 11, a list is generated. The list is list of attribute categories "A" 1102, as selected by the user, per perspective, per domain. The list may also be designated by a computer process in other illustrative embodiments. [0102] In a second step of the process shown in Figure 11, for each category within list of attribute categories "A" 1102, the process records a corresponding depth-count "D" 1104. Each corresponding depth count may be selected by the user, or by a computer process. Depth-count "D" 1104 may be similar to particular depth 140 of Figure 1, depth 232 of Figure 2, the depth indicated at drop down menu 606 of Figure 6, or as elsewhere described herein. [0103] In a third step of the process shown in Figure 11, for each result from an entity comparison, the process creates new list of attributes category values "V" 1105 for each attribute category in list of attribute categories "A" 1102. New list of attributes category values "V" 1105 may be determined according to depth-count "D" 1104 for each corresponding attribute category. [0104] In a fourth step of the process shown in Figure 11, the process creates new list of all attribute category values "E" 1106. New list of all attribute category values "E" 1106 may contain a key as defined by an "attribute category:attribute value" pair and its corresponding count "C" 1108. The process then inserts all attribute category values associated with list of attribute categories "A" 1102 into new list of all attribute category values "E" 1106. Each time a value is added, the process checks to see if the value is already in new list of all attribute category values "E" 1106. If so, the process increments count "C" 1108 corresponding to the attribute category value in question. [0105] In a fifth step of the process shown in Figure 11, when displaying differentiators, the process uses the values from new list of attributes category values "V" 1105 as a key for the values in new list of all attribute category values "E" 1106, but select only the item or items 20 from new list of all attribute category values "E" 1106 whose count "C" 1108 is exactly equal to 1. These values are differentiators. [0106] In the illustrative embodiment of Figure 11, the differentiators are highlighted as first differentiator 1110 and second differentiator 1112. For the sake of ease of understanding, first differentiator 1110 may correspond to first differentiator 902 in Figure 9. Likewise, second differentiator 1112 may correspond to second differentiator 904 of Figure 9. Thus, the illustrative embodiment of Figure 11 shows an alternative technique for arrival at the result shown in Figure 9 using the same set of underlying data common to both Figure 9 and Figure 11. [0107] The illustrative embodiment shown in Figure 10 does not necessarily limit the claimed inventions. Additionally, the illustrative embodiment of Figure 11 may be varied, as described with respect to Figure 5 through Figure 9 or Figure 10. [0108] Figure 12 is a flowchart illustrating a process for identifying a relevant differentiator, in accordance with an illustrative embodiment. Process 1200 may be implemented by system 100 of Figure 1, system 200 of Figure 2, or data processing system 1300 of Figure 13. Process 1200 may be a flow of, or an alternative to, the techniques described with respect to Figure 3 through Figure 11. With respect to Figure 12, a "process" is described as performing an action. As used herein, a "process" is considered to be a non-transitory processor or other physical device configured to perform the action described, or may be considered to be a non-transitory computer readable storage medium storing computer usable program code configured, when executed, to carry out the action described. [0109] The process may be implemented in an associative memory comprising a plurality of data and a plurality of associations among the plurality of data. The plurality of data may be collected into associated groups. The associative memory may be configured to be queried based on at least indirect relationships among the plurality of data. [0110] The process may begin by receiving, at an input device in communication with an associative memory, a query to compare entities in the associative memory (block 1202). The process optionally may receive a value identifying a depth of attribute values of the entities to include (block 1204). The process then may coordinate, using a coordinator, a user-designated 21 relevance of attribute categories and a determined relevance of attribute category values that are determined by the associative memory (block 1206). [0111] The illustrative embodiments described herein, including those described with respect to Figure 1 through Figure 11, contemplate that the associative memory contributes to the determination of relevance of attribute categories as well as the relevance of corresponding attribute category values. Thus, while a user may designate relevance of these objects, the associative memory also assists in determining what attribute categories and attribute category values are relevant. The associative memory may assist with determining relevance by comparing relationships, both direct and indirect, among attribute categories and/or attribute category values. These relationships may indicate a relevance that is not immediately apparent to a user. If the associative memory comparison indicates a relevance not immediately apparent to the user, the associative memory may either automatically include the found relevance while implementing the illustrative embodiments, or may present the user with the opportunity to accept, deny, and/or modify any found relevance. [0112] Returning to the illustrative embodiment of Figure 12, after coordinating, the process may establish, using the coordinator, a list of relevant attribute category values as a result of coordination (block 1208). The process may then compare, using the coordinator in communication with the associative memory, the entities to identify a similar attribute value among the entities (block 1210). The process may remove common attribute values that are common to any two of the entities and are relevant to the query (block 1212). The process may identify, using the coordinator, a differentiator among the entities (block 1214). The process may terminate thereafter. [0113] The illustrative embodiments described with respect to Figure 12 may be varied. For example, while the process may terminate at block 1214, the process may also cause the differentiator to be displayed on one or more display devices. The differentiator may also be highlighted, possibly relative to other relevant attribute category values of interest. [0114] The illustrative embodiments shown in Figure 12 are not meant to imply physical or architectural limitations to the manner in which different illustrative embodiments may be implemented. Other components in addition to and/or in place of the ones illustrated may be used. Some components may be unnecessary in some illustrative embodiments. Also, the 22 blocks are presented to illustrate some functional components. One or more of these blocks may be combined and/or divided into different blocks when implemented in different illustrative embodiments. [0115] Turning now to Figure 13, an illustration of a data processing system is depicted in accordance with an illustrative embodiment. Data processing system 1300 in Figure 13 is an example of a data processing system that may be used to implement the illustrative embodiments, such as system 100 of Figure 1, or any other module or system or process disclosed herein. In this illustrative example, data processing system 1300 includes communications fabric 1302, which provides communications between processor unit 1304, memory 1306, persistent storage 1308, communications unit 1310, input/output (1/0) unit 1312, and display 1314. [0116] Processor unit 1304 serves to execute instructions for software that may be loaded into memory 1306. Processor unit 1304 may be a number of processors, a multi-processor core, or some other type of processor, depending on the particular implementation. A number, as used herein with reference to an item, means one or more items. Further, processor unit 1304 may be implemented using a number of heterogeneous processor systems in which a main processor is present with secondary processors on a single chip. As another illustrative example, processor unit 1304 may be a symmetric multi-processor system containing multiple processors of the same type. [0117] Memory 1306 and persistent storage 1308 are examples of storage devices 1316. A storage device is any piece of hardware that is capable of storing information, such as, for example, without limitation, data, program code in functional form, and/or other suitable information either on a temporary basis and/or a permanent basis. Storage devices 1316 may also be referred to as computer readable storage devices in these examples. Memory 1306, in these examples, may be, for example, a random access memory or any other suitable volatile or non-volatile storage device. Persistent storage 1308 may take various forms, depending on the particular implementation. [0118] For example, persistent storage 1308 may contain one or more components or devices. For example, persistent storage 1308 may be a hard drive, a flash memory, a rewritable optical disk, a rewritable magnetic tape, or some combination of the above. The media used by 23 persistent storage 1308 also may be removable. For example, a removable hard drive may be used for persistent storage 1308. [0119] Communications unit 1310, in these examples, provides for communications with other data processing systems or devices. In these examples, communications unit 1310 is a network interface card. Communications unit 1310 may provide communications through the use of either or both physical and wireless communications links. [0120] Input/output (1/0) unit 1312 allows for input and output of data with other devices that may be connected to data processing system 1300. For example, input/output (1/0) unit 1312 may provide a connection for user input through a keyboard, a mouse, and/or some other suitable input device. Further, input/output (1/0) unit 1312 may send output to a printer. Display 1314 provides a mechanism to display information to a user. [0121] Instructions for the operating system, applications, and/or programs may be located in storage devices 1316, which are in communication with processor unit 1304 through communications fabric 1302. In these illustrative examples, the instructions are in a functional form on persistent storage 1308. These instructions may be loaded into memory 1306 for execution by processor unit 1304. The processes of the different embodiments may be performed by processor unit 1304 using computer implemented instructions, which may be located in a memory, such as memory 1306. [0122] These instructions are referred to as program code, computer usable program code, or computer readable program code that may be read and executed by a processor in processor unit 1304. The program code in the different embodiments may be embodied on different physical or computer readable storage media, such as memory 1306 or persistent storage 1308. [0123] Program code 1318 is located in a functional form on computer readable media 1320 that is selectively removable and may be loaded onto or transferred to data processing system 1300 for execution by processor unit 1304. Program code 1318 and computer readable media 1320 form computer program product 1322 in these examples. In one example, computer readable media 1320 may be computer readable storage media 1324 or computer readable signal media 1326. Computer readable storage media 1324 may include, for example, an optical or magnetic disk that is inserted or placed into a drive or other device that is part of persistent storage 1308 for transfer onto a storage device, such as a hard drive, that is part of persistent storage 1308.
24 Computer readable storage media 1324 also may take the form of a persistent storage, such as a hard drive, a thumb drive, or a flash memory, that is connected to data processing system 1300. In some instances, computer readable storage media 1324 may not be removable from data processing system 1300. [0124] Alternatively, program code 1318 may be transferred to data processing system 1300 using computer readable signal media 1326. Computer readable signal media 1326 may be, for example, a propagated data signal containing program code 1318. For example, computer readable signal media 1326 may be an electromagnetic signal, an optical signal, and/or any other suitable type of signal. These signals may be transmitted over communications links, such as wireless communications links, optical fiber cable, coaxial cable, a wire, and/or any other suitable type of communications link. In other words, the communications link and/or the connection may be physical or wireless in the illustrative examples. [0125] In some illustrative embodiments, program code 1318 may be downloaded over a network to persistent storage 1308 from another device or data processing system through computer readable signal media 1326 for use within data processing system 1300. For instance, program code stored in a computer readable storage medium in a server data processing system may be downloaded over a network from the server to data processing system 1300. The data processing system providing program code 1318 may be a server computer, a client computer, or some other device capable of storing and transmitting program code 1318. [0126] The different components illustrated for data processing system 1300 are not meant to provide architectural limitations to the manner in which different embodiments may be implemented. The different illustrative embodiments may be implemented in a data processing system including components in addition to or in place of those illustrated for data processing system 1300. Other components shown in Figure 13 can be varied from the illustrative examples shown. The different embodiments may be implemented using any hardware device or system capable of running program code. As one example, the data processing system may include organic components integrated with inorganic components and/or may be comprised entirely of organic components excluding a human being. For example, a storage device may be comprised of an organic semiconductor.
25 [0127] In another illustrative example, processor unit 1304 may take the form of a hardware unit that has circuits that are manufactured or configured for a particular use. This type of hardware may perform operations without needing program code to be loaded into a memory from a storage device to be configured to perform the operations. [0128] For example, when processor unit 1304 takes the form of a hardware unit, processor unit 1304 may be a circuit system, an application specific integrated circuit (ASIC), a programmable logic device, or some other suitable type of hardware configured to perform a number of operations. With a programmable logic device, the device is configured to perform the number of operations. The device may be reconfigured at a later time or may be permanently configured to perform the number of operations. Examples of programmable logic devices include, for example, a programmable logic array, programmable array logic, a field programmable logic array, a field programmable gate array, and other suitable hardware devices. With this type of implementation, program code 1318 may be omitted because the processes for the different embodiments are implemented in a hardware unit. [0129] In still another illustrative example, processor unit 1304 may be implemented using a combination of processors found in computers and hardware units. Processor unit 1304 may have a number of hardware units and a number of processors that are configured to run program code 1318. With this depicted example, some of the processes may be implemented in the number of hardware units, while other processes may be implemented in the number of processors. [0130] As another example, a storage device in data processing system 1300 is any hardware apparatus that may store data. Memory 1306, persistent storage 1308, and computer readable media 1320 are examples of storage devices in a tangible form. [0131] In another example, a bus system may be used to implement communications fabric 1302 and may be comprised of one or more buses, such as a system bus or an input/output bus. Of course, the bus system may be implemented using any suitable type of architecture that provides for a transfer of data between different components or devices attached to the bus system. Additionally, a communications unit may include one or more devices used to transmit and receive data, such as a modem or a network adapter. Further, a memory may be, for 26 example, memory 1306, or a cache, such as found in an interface and memory controller hub that may be present in communications fabric 1302. [0132] Data processing system 1300 may also include associative memory 1328. Associative memory 1328 may be associative memory 102 of Figure 1 or associative memory 1202 of Figure 12, and may have the properties described elsewhere herein. Associative memory 1328 may be in communication with communications fabric 1302. Associative memory 1328 may also be in communication with, or in some illustrative embodiments, be considered part of storage devices 1316. While one associative memory 1328 is shown, additional associative memories may be present. [0133] The different illustrative embodiments can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment containing both hardware and software elements. Some embodiments are implemented in software, which includes but is not limited to forms, such as, for example, firmware, resident software, and microcode. [0134] Furthermore, the different embodiments can take the form of a computer program product accessible from a computer usable or computer readable medium providing program code for use by or in connection with a computer or any device or system that executes instructions. For the purposes of this disclosure, a computer usable or computer readable medium can generally be any tangible apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. [0135] The computer usable or computer readable medium can be, for example, without limitation an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, or a propagation medium. Non-limiting examples of a computer readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk, and an optical disk. Optical disks may include compact disk - read only memory (CD-ROM), compact disk read/write (CD-R/W), and DVD. [0136] Further, a computer usable or computer readable medium may contain or store a computer readable or usable program code such that when the computer readable or usable program code is executed on a computer, the execution of this computer readable or usable 27 program code causes the computer to transmit another computer readable or usable program code over a communications link. This communications link may use a medium that is, for example without limitation, physical or wireless. [0137] A data processing system suitable for storing and/or executing computer readable or computer usable program code will include one or more processors coupled directly or indirectly to memory elements through a communications fabric, such as a system bus. The memory elements may include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some computer readable or computer usable program code to reduce the number of times code may be retrieved from bulk storage during execution of the code. [0138] Input/output or 1/0 devices can be coupled to the system either directly or through intervening 1/0 controllers. These devices may include, for example, without limitation, keyboards, touch screen displays, and pointing devices. Different communications adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Non-limiting examples of modems and network adapters are just a few of the currently available types of communications adapters. [0139] The description of the different illustrative embodiments has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the embodiments in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. Further, different illustrative embodiments may provide different features as compared to other illustrative embodiments. The embodiment or embodiments selected are chosen and described in order to best explain the principles of the embodiments, the practical application, and to enable others of ordinary skill in the art to understand the disclosure for various embodiments with various modifications as are suited to the particular use contemplated.
权利要求:
Claims (20)
[1] 1. A system comprising: an associative memory comprising a plurality of data and a plurality of associations among the plurality of data, wherein the plurality of data is collected into associated groups, wherein the associative memory is configured to be queried based on at least indirect relationships among the plurality of data; an input device in communication with the associative memory, the input device configured to receive a query to compare entities in the associative memory; and a coordinator in communication with the associative memory, the coordinator configured to compare the entities to identify a similar attribute value among the entities, the coordinator further configured to identify a differentiator among the entities.
[2] 2. The system of claim 1, wherein the differentiator comprises an attribute value of a given entity that is unique relative to all other attribute values of comparable entities having category types equal to a category type of the given entity, and wherein the differentiator is further relevant to the query.
[3] 3. The system of claim 2, wherein the coordinator is further configured to identify the differentiator by receiving a value identifying a depth of an attribute of an entity to include.
[4] 4. The system of claim 3, wherein the coordinator is further configured to identify the differentiator by removing common attribute values that are common to any two of the entities and are relevant to the query.
[5] 5. The system of claim 4, wherein one or more of the common attribute values are beyond the depth.
[6] 6. The system of claim 1 further comprising: a display device in communication with the associative memory and configured to display the differentiator.
[7] 7. The system of claim 1, wherein the coordinator is further configured to coordinate a user designated relevance of attribute categories and a determined relevance of attribute category values that are determined by the associative memory, wherein the coordinator is programmed to 29 establish a list of relevant attribute category values as a result of a coordination, and wherein the coordinator is further configured to use the list to identify the differentiator.
[8] 8. The system of claim 7, wherein the associative memory is configured to store the list and to order the relevant attribute category values in order of relevance.
[9] 9. The system of claim 1, wherein the coordinator is further configured to examine a plurality of sets of attribute categories to a particular depth and further configured to determine what value or values are relevant in identified differences among the plurality of sets of attribute categories.
[10] 10. A system comprising: an associative memory comprising a plurality of data and a plurality of associations among the plurality of data, wherein the plurality of data is collected into associated groups, wherein the associative memory is configured to be queried based on at least indirect relationships among the plurality of data; an input device in communication with the associative memory, the input device configured to receive a query to compare a first entity to a second entity using the associative memory, and further configured to receive an attribute category associated with both the first entity and the second entity; and a coordinator in communication with the associative memory, the coordinator configured to compare first attribute values of the first entity and second attribute values of the second entity, the first attribute values and the second attribute values both associated with the attribute category, the coordinator further configured to remove third attribute values from both the first attribute values and the second attribute values, wherein the third attribute values are common to both the first attribute values and the second attribute values, and wherein the coordinator is further configured to store a fourth attribute value that remains after removal of the third attribute values, the fourth attribute value being associated with one of the first entity and the second entity.
[11] 11. The system of claim 10, wherein the fourth attribute value is unique to the one of the first entity and the second entity.
[12] 12. The system of claim 10, wherein the input device is further configured to receive a depth of attribute values to include when comparing. 30
[13] 13. The system of claim 12, wherein the coordinator is further configured to remove fifth attribute values from one or both of the first attribute values and the second attribute values, wherein the fifth attribute values are beyond the depth.
[14] 14. The system of claim 10 further comprising: a display in communication with the associative memory and configured to display the fourth attribute value.
[15] 15. The system of claim 14, wherein the display is further configured to highlight the fourth attribute value and also to display fifth attribute values common to both the first entity and the second entity.
[16] 16. A method implemented in an associative memory comprising a plurality of data and a plurality of associations among the plurality of data, wherein the plurality of data is collected into associated groups, wherein the associative memory is configured to be queried based on at least indirect relationships among the plurality of data, the method comprising: receiving, at an input device in communication with the associative memory, a query to compare entities in the associative memory; comparing, using a coordinator in communication with the associative memory, the entities to identify a similar attribute value among the entities; and identifying, using the coordinator, a differentiator among the entities.
[17] 17. The method of claim 16, wherein the differentiator comprises an attribute value of a given entity that is unique relative to all other attribute values of comparable entities having category types equal to a category type of the given entity, and wherein the differentiator is further relevant to the query.
[18] 18. The method of claim 17 further comprising: identifying, using the coordinator, the differentiator by receiving a value identifying a depth of attribute values of the entities to include.
[19] 19. The method of claim 18 further comprising: identifying, using the coordinator, the differentiator by removing common attribute values that are common to any two of the entities and are relevant to the query. 31
[20] 20. The method of claim 16 further comprising: coordinating, using the coordinator, a user-designated relevance of attribute categories and a determined relevance of attribute category values that are determined by the associative memory; establishing, using the coordinator, a list of relevant attribute category values as a result of a coordination; and using, by the coordinator, the list to identify the differentiator. The Boeing Company Patent Attorneys for the Applicant/Nominated Person SPRUSON & FERGUSON
类似技术:
公开号 | 公开日 | 专利标题
US8935282B2|2015-01-13|Locating relevant differentiators within an associative memory
US8131748B2|2012-03-06|Search query formulation
JP2017504876A|2017-02-09|System and method for providing context-based definition and translation of text
CN103970857B|2017-08-25|Content recommendation determines system and method
US10134067B2|2018-11-20|Autocomplete of searches for data stored in multi-tenant architecture
EP2350884A2|2011-08-03|Digital image retrieval by aggregating search results based on visual annotations
US20130339340A1|2013-12-19|Semantic search for business entities
US9195733B2|2015-11-24|Clustering with virtual entities using associative memories
US9805085B2|2017-10-31|Locating ambiguities in data
US20160055263A1|2016-02-25|Providing Action Search and Quick Action Cards
US20180107740A1|2018-04-19|Combining catalog search results from multiple package repositories
KR102168807B1|2020-10-23|Identifying contextual results within associative memories
US9798449B2|2017-10-24|Fuzzy search and highlighting of existing data visualization
US20200034379A1|2020-01-30|Recommending documents sets based on a similar set of correlated features
US8949259B2|2015-02-03|Systems, methods, software, and interfaces for analyzing, mapping, and depicting search results in a topical space
CN112262380A|2021-01-22|Providing query recommendations
US9158862B2|2015-10-13|Narrowing comparison results of associative memories
US20170185681A1|2017-06-29|Method of and system for processing a prefix associated with a search query
US20210141777A1|2021-05-13|Information management apparatus, information processing apparatus, and non-transitory computer readable medium
WO2016110255A1|2016-07-14|Method and device for searching for software functions
同族专利:
公开号 | 公开日
EP2690566A1|2014-01-29|
AU2013206037B2|2018-03-15|
US8935282B2|2015-01-13|
JP2014026655A|2014-02-06|
US20140032592A1|2014-01-30|
CN103577523A|2014-02-12|
JP6250968B2|2017-12-20|
CN103577523B|2019-02-05|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
US4149262A|1977-04-19|1979-04-10|Semionics Associates|Associative memory device with variable recognition criteria|
US4144564A|1977-04-19|1979-03-13|Semionics Associates|Associative memory|
US5014327A|1987-06-15|1991-05-07|Digital Equipment Corporation|Parallel associative memory having improved selection and decision mechanisms for recognizing and sorting relevant patterns|
EP0772836B1|1994-06-06|2001-12-12|Nokia Networks Oy|A method for storing and retrieving data and a memory arrangement|
JPH09114862A|1995-10-20|1997-05-02|Fuji Xerox Co Ltd|Data comparator and method used for it|
JPH11195036A|1997-12-27|1999-07-21|Canon Inc|Constitution part information retrieval device/method and storage medium|
AU2003243533A1|2002-06-12|2003-12-31|Jena Jordahl|Data storage, retrieval, manipulation and display tools enabling multiple hierarchical points of view|
AU2003265288B2|2002-08-10|2008-08-28|Cisco Technology, Inc.|Associative memory with enhanced capabilities|
US7774344B2|2005-12-29|2010-08-10|Microsoft Corporation|Displaying key differentiators based on standard deviations within a distance metric|
US7739247B2|2006-12-28|2010-06-15|Ebay Inc.|Multi-pass data organization and automatic naming|
US8160981B2|2007-09-25|2012-04-17|Saffron Technology, Inc.|Event-based anticipation systems, methods and computer program products for associative memories wherein times of future events occurring are predicted|
JP5369689B2|2009-01-08|2013-12-18|ヤマハ株式会社|Information processing apparatus and program|
US9053159B2|2009-02-09|2015-06-09|The Boeing Company|Non-conformance analysis using an associative memory learning agent|
US8838490B2|2009-04-07|2014-09-16|The Boeing Company|Associate memory learning for analyzing financial transactions|
JP2011034457A|2009-08-04|2011-02-17|Nec Corp|Data mining system, data mining method and data mining program|
JP2012088886A|2010-10-19|2012-05-10|Panasonic Corp|Display device, display method, and program|
US8972414B2|2011-07-29|2015-03-03|Linkedin Corporation|Methods and systems for identifying similar people via a business networking service|US9298269B2|2014-04-10|2016-03-29|The Boeing Company|Identifying movements using a motion sensing device coupled with an associative memory|
KR101764472B1|2014-10-17|2017-08-14|주식회사 엘지화학|Apparatus for assigning ID of battery management item, apparatus for ordering of battery management item and battery management method using the same|
US9754495B2|2015-04-02|2017-09-05|The Boeing Company|Associative memory system and method for flight plan modification|
US10083403B2|2015-06-30|2018-09-25|The Boeing Company|Data driven classification and data quality checking method|
US10089581B2|2015-06-30|2018-10-02|The Boeing Company|Data driven classification and data quality checking system|
US10268948B2|2015-07-23|2019-04-23|The Boeing Company|Data driven classification and troubleshooting system and method using associative memory and a machine learning algorithm to improve the accuracy and performance of the associative memory|
法律状态:
2018-07-12| FGA| Letters patent sealed or granted (standard patent)|
优先权:
申请号 | 申请日 | 专利标题
US13/560,437||2012-07-27||
US13/560,437|US8935282B2|2012-07-27|2012-07-27|Locating relevant differentiators within an associative memory|
[返回顶部]